package cn.thinkluck.pattern.adapter;

/**
 * 适配器示例
 * @Author liutao
 * @DateTime 2024/7/21 下午7:45
 */
public class Main {
    public static void main(String[] args) {
        //假设目标对象是AdapterNeed，其中没有实现request方法，但想调用doSomething方法
        AdapterNeed adapterNeed = new AdapterNeed();
        //doSomething(adapterNeed); 错误
        //使用适配器适配，调用request方法，实际是调用AdapterNeed中的specificRequest方法
        Adapter adapter = new Adapter();
        doSomething(adapter);
    }

    /**
     * 假设有个固定方法需要调用Target的request方法
     * @param target
     */
    public static void doSomething(Target target){
        target.request();
    }
}
